package cn.tedu.micro.demo.order.feign;

import cn.tedu.micro.demo.common.pojo.protocol.JsonResult;
import cn.tedu.micro.demo.common.pojo.vo.GunInfoVO;
import cn.tedu.micro.demo.order.config.GlobalFeignCookieConfig;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * 当前这个类 表示的业务意义是
 * 它负责帮助order调用device所需的接口方法
 * 需要配置2个部分让这个接口类生效
 * 1. 需要类注解 描述一个名字 并且明确指向device一个服务地址
 * 2. 需要一个抽象方法 抽象方法 调用的就是provider实现的接口 所以接口上的springmvc注解和provider方法一样的
 */
@FeignClient(name="device-service")
public interface DeviceClient {

    @GetMapping("/device/gun/info/{gunId}")
    JsonResult<GunInfoVO> getGunInfo(@PathVariable("gunId") Integer gunId);
}
